package ModelLayer;
import java.util.ArrayList;
/**
 * Write a description of class Ordre here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Ordre
{
    private int ordreId;
    private String status;
    private String afleveringsDato;
    private double totalPris;
    private String ordreType;
    private Medarbejder medarbejder;
    private Kunde kunde;
    private ArrayList<Delordre> delordrer;

    /**
     * Konstruktoer for objekter af klassen Rent
     */
    public Ordre(int ordreId, String status, String afleveringsDato, String ordreType, Medarbejder medarbejder, Kunde kunde)
    {
        this.ordreId = ordreId;
        this.status = status;
        this.afleveringsDato = afleveringsDato;
        this.ordreType = ordreType;
        this.medarbejder = medarbejder;
        this.kunde = kunde;
        delordrer = new ArrayList<Delordre>();
    }
    
    public void tilfoejDelordre(Delordre delordre)
    {
        delordrer.add(delordre);
    }
    
    /**
     * Metode til at finde en Ordre's ID.
     */
    public int getOrdreId()
    {
        return ordreId;         
    }
    
    /**
     * Metode til at finde en Ordre's status.
     */
    public String getStatus()
    {
        return status;
    }
     
    /**
     * Metode til at finde en Ordre's afleveringsdato.
     */
    public String getAfleveringsDato()
    {
        return afleveringsDato;
    }
    
    /**
     * Metode til at finde en Ordre's totalpris.
     */
    public double getTotalPris()
    {
        return totalPris;
    }
    
    /**
     * Metode til at finde en Ordre's ordretype.
     */
    public String getOrdreType()
    {
        return ordreType;
    }
    
    /**
     * Metode til at �ndre et ordre's status. newStatus indtastes som String.
     */    
    public void setStatus(String newStatus)
    {
        status = newStatus;
    }
    
    /**
     * Metode til at �ndre et ordre's afleveringsdato. newAfleveringsDato indtastes som String.
     */
    public void setAfleveringsDato(String newAfleveringsDato)
    {
        afleveringsDato = newAfleveringsDato;
    }
    
     /**
     * Bruges til at oprette at tilføje et delordre objekt til containeren.
     * @param int maengde.
     */
    public void opretDelordre(int maengde, Varer v)
    {
        Delordre delordre = new Delordre(maengde, v);
        delordrer.add(delordre);
    }
    
    /**
     * Bruges til at saette totalprisen.
     */
    public double setTotalPris()
    {
        totalPris = 0;
        for(Delordre delordre1 : delordrer)
        {
            totalPris = delordre1.getTotalPris() + totalPris;
        }
        
        return totalPris;
    }
}
